Creating a domain model for a system under development can be a cumbersome process. Rules relating to pre-configuration and initialization of artifacts and rules indicating the relationships among artifacts within the domain model for an object-oriented software system, for example, typically are created as series of text-based rules using a Universal Modeling Language (UML) application. To enforce the rules that are created, users need to pre-program the rules within the particular software system that is being modeled and subsequently developed in accordance with the domain model. As such, the software system is not extendible beyond the rules that are specified therein. Further, rules specified as part of the UML application are not easily visualized and, thus, are unintuitive.